package pms.controller;

import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;

import pms.dao.RennenDao;
import pms.dao.RennlaeuferDao;

/**
 * Controller to generate the Home Page basics to be rendered by a view. It
 * extends the convenience class AbstractController that encapsulates most of
 * the drudgery involved in handling HTTP requests.
 * 
 * @author josef@dr-schneeberger.de
 */
public class SaveRennenEintragen extends AbstractController {
	private RennenDao rennenDao;
	
	public void setRennenDao(RennenDao rennenDao) {
		this.rennenDao = rennenDao;
	}

	public void setRennlaeuferDao(RennlaeuferDao rennlaeuferDao) {
	}

	protected ModelAndView handleRequestInternal(
			HttpServletRequest httpServletRequest,
			HttpServletResponse httpServletResponse) throws Exception {
		@SuppressWarnings("rawtypes")
		Map pm = httpServletRequest.getParameterMap();
		String[] rennlaeuferIds = (String[]) pm.get("rennlaeuferId");
		int rennenId;
		ModelAndView mv = new ModelAndView();
		mv.addObject("title", "Liste der aktuellen Rennen");
		try {
			String renndatum = httpServletRequest.getParameter("renndatum");
			String rennort = httpServletRequest.getParameter("rennort");
			String bezeichnung = httpServletRequest.getParameter("bezeichnung");
		//	String busplatz = httpServletRequest.getParameter("busplatz");
	
			rennenDao.create(renndatum, rennort, bezeichnung);
	//		rennenDao.create("tssss", "asd","asdf","asdf");
//			rennenId = Integer.parseInt(httpServletRequest.getParameter("rennenId"));
//			rennenDao.konfiguriere(rennenId, rennlaeuferIds);
		//	mv.addObject("title", "Alle Rennen " + rennenDao.findById(rennenId).getRennbezeichnung());
			mv.addObject("message", "Das Rennen wurde erfolgreich hinzugefügt. ");
		} catch (NumberFormatException e) {
			mv.addObject("title", "Alle Rennen");
			mv.addObject("message", "Das Rennen konnte nicht hinzugefügt werden. Ein Fehler ist aufgetreten!");
		}
		
//		String renndatum = httpServletRequest.getParameter("renndatum");
//		String rennort = httpServletRequest.getParameter("rennort");
//		String bezeichnung = httpServletRequest.getParameter("bezeichnung");
//		String busplatz = httpServletRequest.getParameter("busplatz");
//
//		rennenDao.create(renndatum, rennort, bezeichnung, busplatz);

		
		mv.setViewName("home");
		return mv;
		
		//return handleRequestInternal(httpServletRequest, httpServletResponse);
	}

}
